Xunit, NUnit এবং MSTest ব্যবহার

Web Development - এএসপি ডট (ASP.Net) - Unit Testing এবং Integration Testing |

ASP.Net অ্যাপ্লিকেশনের জন্য ইউনিট টেস্টিং খুবই গুরুত্বপূর্ণ, কারণ এটি কোডের কার্যকারিতা নিশ্চিত করে এবং রিগ্রেশন সমস্যা থেকে রক্ষা করে। ASP.Net এ ইউনিট টেস্ট করার জন্য বিভিন্ন টেস্ট ফ্রেমওয়ার্ক রয়েছে, যার মধ্যে জনপ্রিয় তিনটি হলো Xunit, NUnit, এবং MSTest। এই টেস্ট ফ্রেমওয়ার্কগুলো দিয়ে আপনি অ্যাপ্লিকেশনটির বিভিন্ন অংশ পরীক্ষা করতে পারেন, যেমন কন্ট্রোলার, মডেল, এবং সার্ভিস লেয়ার। নিচে এই তিনটি ফ্রেমওয়ার্কের ব্যবহার এবং তাদের মধ্যে পার্থক্যগুলো আলোচনা করা হবে।


১. Xunit

Xunit একটি জনপ্রিয়, ওপেন সোর্স টেস্ট ফ্রেমওয়ার্ক যা .NET অ্যাপ্লিকেশনে ইউনিট টেস্টিং করার জন্য ব্যবহৃত হয়। এটি বিশেষভাবে পারallel টেস্টিং এবং অন্যান্য আধুনিক ফিচারের জন্য জনপ্রিয়।

Xunit ব্যবহার

  1. Xunit ইনস্টলেশন:

    প্রথমে, Xunit ইনস্টল করতে হবে। Visual Studio বা .NET CLI এর মাধ্যমে এটি ইনস্টল করা যায়। NuGet Package এর মাধ্যমে:

    dotnet add package xunit
    dotnet add package xunit.runner.visualstudio
    
  2. টেস্ট ক্লাস এবং মেথড তৈরি করা:

    Xunit টেস্ট ক্লাসে টেস্ট মেথড তৈরি করতে হলে [Fact] অ্যাট্রিবিউট ব্যবহার করতে হবে।

    using Xunit;
    
    public class MathTests
    {
        [Fact]
        public void Add_TwoNumbers_ReturnsCorrectSum()
        {
            var result = 1 + 2;
            Assert.Equal(3, result);
        }
    }
    
  3. টেস্ট চালানো:

    Visual Studio বা .NET CLI দিয়ে টেস্ট চালানো যায়:

    dotnet test
    

২. NUnit

NUnit হল একটি আরও পুরোনো এবং শক্তিশালী টেস্ট ফ্রেমওয়ার্ক যা .NET অ্যাপ্লিকেশনগুলোতে ব্যাপকভাবে ব্যবহৃত হয়। এটি XUnit এর মতোই, তবে কিছু অতিরিক্ত ফিচার এবং কনভেনশন প্রদান করে।

NUnit ব্যবহার

  1. NUnit ইনস্টলেশন:

    NUnit ইনস্টল করতে, NuGet প্যাকেজ ব্যবহৃত হয়। Visual Studio বা .NET CLI দিয়ে এটি ইনস্টল করা যায়:

    dotnet add package NUnit
    dotnet add package NUnit3TestAdapter
    dotnet add package Microsoft.NET.Test.Sdk
    
  2. টেস্ট ক্লাস এবং মেথড তৈরি করা:

    NUnit এ টেস্ট মেথড তৈরি করার জন্য [Test] অ্যাট্রিবিউট ব্যবহার করতে হয়।

    using NUnit.Framework;
    
    public class MathTests
    {
        [Test]
        public void Add_TwoNumbers_ReturnsCorrectSum()
        {
            var result = 1 + 2;
            Assert.AreEqual(3, result);
        }
    }
    
  3. টেস্ট চালানো:

    NUnit টেস্ট চালানোর জন্য, Test Explorer বা dotnet test ব্যবহার করা যেতে পারে:

    dotnet test
    

৩. MSTest

MSTest হল Microsoft দ্বারা ডেভেলপ করা একটি টেস্ট ফ্রেমওয়ার্ক যা .NET ফ্রেমওয়ার্ক এবং .NET Core এর জন্য ব্যবহৃত হয়। এটি Microsoft এর নিজস্ব টেস্ট ফ্রেমওয়ার্ক এবং Visual Studio এর সাথে পূর্ণাঙ্গ সমর্থিত।

MSTest ব্যবহার

  1. MSTest ইনস্টলেশন:

    MSTest ইনস্টল করতে NuGet প্যাকেজ ব্যবহৃত হয়:

    dotnet add package MSTest.TestFramework
    dotnet add package MSTest.TestAdapter
    
  2. টেস্ট ক্লাস এবং মেথড তৈরি করা:

    MSTest এ টেস্ট মেথড তৈরি করার জন্য [TestMethod] অ্যাট্রিবিউট ব্যবহার করতে হয়।

    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    [TestClass]
    public class MathTests
    {
        [TestMethod]
        public void Add_TwoNumbers_ReturnsCorrectSum()
        {
            var result = 1 + 2;
            Assert.AreEqual(3, result);
        }
    }
    
  3. টেস্ট চালানো:

    MSTest টেস্ট চালানোর জন্য, Test Explorer বা dotnet test ব্যবহার করা যেতে পারে:

    dotnet test
    

XUnit, NUnit, MSTest এর মধ্যে পার্থক্য

ফিচারXunitNUnitMSTest
লাইটওয়েটহ্যাঁ, সবচেয়ে লাইটওয়েটমধ্যমতুলনামূলক ভারী
এট্রিবিউট[Fact] এবং [Theory][Test][TestMethod]
প্যারালেল টেস্টিংসমর্থিতসমর্থিতসমর্থিত
তিনটি অ্যাট্রিবিউট[Fact], [Theory], [Class][Test], [SetUp], [TearDown][TestMethod], [ClassInitialize]
বিল্ট-ইন সমর্থনVisual Studio, Rider, CLIVisual Studio, Rider, CLIVisual Studio
ডাটাপ্যারামিটারাইজেশন[Theory][TestCase][DataRow]

কোন টেস্ট ফ্রেমওয়ার্ক ব্যবহার করবেন?

  • Xunit: যদি আপনি একটি মডার্ন এবং লাইটওয়েট ফ্রেমওয়ার্ক চান এবং আপনার টেস্ট প্যারালেল করতে চান, তাহলে Xunit একটি ভাল পছন্দ।
  • NUnit: যদি আপনি আরও ফিচারপূর্ণ এবং বিশ্বস্ত টেস্ট ফ্রেমওয়ার্ক চান, যেখানে ডাটাপ্যারামিটারাইজেশন এর মতো অতিরিক্ত সুবিধা পাওয়া যায়, তাহলে NUnit ব্যবহার করুন।
  • MSTest: যদি আপনি Microsoft টুলস এবং Visual Studio এর সাথে পূর্ণ সমর্থন চান, MSTest একটি শক্তিশালী অপশন হতে পারে, বিশেষ করে যদি আপনি Microsoft এর পরিবেশে কাজ করছেন।

সারসংক্ষেপ

Xunit, NUnit, এবং MSTest সবই শক্তিশালী এবং জনপ্রিয় টেস্ট ফ্রেমওয়ার্ক, যেগুলো আপনাকে ASP.Net অ্যাপ্লিকেশনগুলোর ইউনিট টেস্টিং সহজে করতে সাহায্য করে। তবে, আপনার প্রজেক্টের প্রয়োজন অনুযায়ী, আপনি যে কোন ফ্রেমওয়ার্ক বেছে নিতে পারেন।

Content added By
Promotion